#!/bin/bash

# 定义函数检查命令的执行结果
check_command() {
    if [ $? -ne 0 ]; then
        echo "错误: $1"
        exit 1
    fi
}

# 停止 MySQL 服务
echo "正在停止 MySQL 服务..."
sudo systemctl stop mysqld

# 卸载 MySQL 包
echo "正在卸载 MySQL 软件包..."
sudo dnf remove -y mysql-server mysql mysql-libs mysql-client mysql-common

# 删除 MySQL 数据目录
echo "正在删除 MySQL 数据目录..."
sudo rm -rf /var/lib/mysql

# 删除 MySQL 配置文件
echo "正在删除 MySQL 配置文件..."
sudo rm -rf /etc/my.cnf /etc/my.cnf.d/

# 删除 MySQL 用户和组
echo "正在删除 MySQL 用户和组..."
sudo userdel -r mysql
sudo groupdel mysql

# 删除 MySQL 日志文件
echo "正在删除 MySQL 日志文件..."
sudo rm -rf /var/log/mysqld.log /var/log/mysql

# 重新安装 MySQL
echo "正在安装 MySQL 服务..."
sudo dnf install -y mysql-server
check_command "安装 MySQL 服务失败。"

# 启动并启用 MySQL 服务
echo "正在启动并启用 MySQL 服务..."
sudo systemctl enable --now mysqld
check_command "启动 MySQL 服务失败。"

# 设置 MySQL root 密码
echo "正在设置 MySQL root 密码..."
mysqladmin --user=root --password="" password '1234'
check_command "设置 MySQL root 密码失败。"

echo "MySQL 已重新安装，root 密码已设置为 '1234'。"